Computing systems may be found in the workplace, at home, or at school. Computing systems may include computing and data storage systems to process, transfer, and store data. Some computing systems have begun offering centralized, virtual computing options known as service provider environments that may reduce overall costs, improve availability, improve scalability, and reduce time to deploy new applications.
Computing systems and devices may be linked to one another via computing networks for exchanging data and content from one device to another. Computing systems may communicate with other networked computing systems across a network. Accordingly, computing systems may also access a service provider environment (e.g., a centralized virtual computing environment) using physical and virtual computing networks. Computing systems may also access services offered by the service provider environment using virtualized computing resources.
A computing system may rely on groups of remote computing systems and devices to store, manage, process, or provide data to the computing system. One device may have a different hardware or services capability from another device and sharing those capabilities may extend the capabilities of the devices. In addition, computing customers may use virtualized computing resources to access more powerful computing resources for more demanding computing tasks or less powerful computing resources for less intensive computing tasks in a dynamic fashion. A client device may be less powerful than compute power provided by remote services or virtualized computing resources, and the client device may access the data and resources of the remote services to extend the computing capabilities of the client device. Sometimes clients may access these remote services using application program interface (API) calls that are made to a service provider environment.